home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / xlib / yakems11 / yakems.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-10-04  |  1.0 KB  |  47 lines

  1. #ifndef YAKEMS.H
  2. #define YAKEMS.H
  3.  
  4. #include "yaklist.h"
  5. #include <dos.h>
  6.  
  7. extern "C" {
  8. extern int iEms_err;
  9. extern word wEms_verify();
  10. extern word wEms_alloc(unsigned int pgcnt);
  11. extern word wEms_map(unsigned int phys, unsigned int handle, unsigned int lpage);
  12. extern word wEms_free(unsigned int handle);
  13. extern word wEms_getframe();}
  14.  
  15. class emsBlock : public yakObject
  16. {
  17. public:
  18.     int iHandle;
  19.     pyList LDataList;
  20.     emsBlock();
  21.     virtual ~emsBlock();
  22.     void swapIn();
  23.     void defragment();
  24.     static word wPageFrame;
  25. //    static void * pvPageAddress;
  26.     static pyList LBlockList;
  27.     static int iCurrentHandle;
  28.     static word wInit();
  29.     static void defragmentAllEMS();
  30.     static void freeAllEMS();
  31.     static void showBlockStatus();
  32. };
  33.  
  34. class emsData : public yakObject
  35. {
  36. public:
  37.     byte * pbDataPtr;
  38.     int iHandle;
  39.     word wSize;
  40.     emsData();
  41.     virtual ~emsData();
  42.     inline byte * pbData();
  43.     byte * pbUseData(void * pvDataToUse, word wSizeMoved);
  44.     byte * pbAllocate(word wSizeToAllocate);
  45.     void deAllocate();
  46. };
  47. #endif